'use strict';

const { jsonRulesFileInfo } = require('../utils/ErrorModel');
const { ErrorModel } = require('../utils/resultModel');

module.exports = () => {
  return async function userValidate(ctx, next) {
    // 获取前端传递的数据
    const data = ctx.request.body;

    // 校验数据格式
    await ctx
      .validate('schema.user', data)
      .then(async () => {
        // 检验成功 可以注册
        await next();
      })
      .catch(async err => {
        // 校验失败 打印错误信息
        console.log(err);
        // 给客户返回错误信息
        ctx.body = new ErrorModel(jsonRulesFileInfo);
        return;
      });
  };
};
